Unit RaFormAbout;

Interface

Uses
  Windows, messages, SysUtils, Variants, Classes, Graphics, Controls, forms,
  Dialogs, stdctrls, ExtCtrls, QQReader, RaAccessPass, RaBase64, RaCalendar,
  RaCameraEye, RaConsoleRun, RaControlPanel, RaCRCFile, RaDBOLE, RaDes,
  RaDialUp, RaDir, RaHTTPGet, RaIIS, RaJpegImage, RaKeyBlock,
  RaLanNet, RaMD5, RaMonthCalendar, RaOjnReader, RaOjnWriter, RaOuterControls,
  RaPagedGrid, RaRegExpr, RaResizer, RaRMBCashChanger, RaShapeObjs,
  RaShortCut, RaSMS, RaTwain, RaVTxtAuto, RaWindowsInfo, DesignEditors,
  DesignIntf, RaadopagedData,RaBdePagedData;

Type
  TAboutEditor = Class(TStringProperty)
  public
    Procedure Edit; override;
    Function GetAttributes: TPropertyAttributes; override;
    Function GetValue: String; override;
  End;

Type
  TFormAbout = Class(TForm)
    Image1: TImage;
    Label1: TLabel;
    Label2: TLabel;
    Button1: TButton;
    Procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  End;

Var
  FormAbout: TFormAbout;

Procedure Register;

Implementation

{$R *.dfm}

Procedure Register;
Begin
  RegisterPropertyEditor(TypeInfo(String), TQQReader, 'About', TAboutEditor);
  RegisterPropertyEditor(TypeInfo(String), TRaAccessPass, 'About', TAboutEditor);
  RegisterPropertyEditor(TypeInfo(String), TRaBase64, 'About', TAboutEditor);
  RegisterPropertyEditor(TypeInfo(String), TRaCalendar, 'About', TAboutEditor);
  RegisterPropertyEditor(TypeInfo(String), TRaCameraEye, 'About', TAboutEditor);
  RegisterPropertyEditor(TypeInfo(String), TRaConsoleRun, 'About', TAboutEditor);
  RegisterPropertyEditor(TypeInfo(String), TRaControlPanel, 'About', TAboutEditor);
  RegisterPropertyEditor(TypeInfo(String), TRaCRCFile, 'About', TAboutEditor);
  RegisterPropertyEditor(TypeInfo(String), TRaDBOLE, 'About', TAboutEditor);
  RegisterPropertyEditor(TypeInfo(String), TRaDes, 'About', TAboutEditor);
  RegisterPropertyEditor(TypeInfo(String), TRaDialUp, 'About', TAboutEditor);
  RegisterPropertyEditor(TypeInfo(String), TRaDir, 'About', TAboutEditor);
  RegisterPropertyEditor(TypeInfo(String), TRaHTTPGet, 'About', TAboutEditor);
  RegisterPropertyEditor(TypeInfo(String), TRaIIS, 'About', TAboutEditor);
  RegisterPropertyEditor(TypeInfo(String), TRaJpegImage, 'About', TAboutEditor);
  RegisterPropertyEditor(TypeInfo(String), TRaKeyBlock, 'About', TAboutEditor);
  RegisterPropertyEditor(TypeInfo(String), TRaLanNet, 'About', TAboutEditor);
  RegisterPropertyEditor(TypeInfo(String), TRaMD5, 'About', TAboutEditor);
  RegisterPropertyEditor(TypeInfo(String), TRaMonthCalendar, 'About', TAboutEditor);
  RegisterPropertyEditor(TypeInfo(String), TRaOjnReader, 'About', TAboutEditor);
  RegisterPropertyEditor(TypeInfo(String), TRaOjnWriter, 'About', TAboutEditor);
  RegisterPropertyEditor(TypeInfo(String), TRaOuterControls, 'About', TAboutEditor);
  RegisterPropertyEditor(TypeInfo(String), TRaPagedGrid, 'About', TAboutEditor);
  RegisterPropertyEditor(TypeInfo(String), TRaRegExpr, 'About', TAboutEditor);
  RegisterPropertyEditor(TypeInfo(String), TRaResizer, 'About', TAboutEditor);
  RegisterPropertyEditor(TypeInfo(String), TRaRMBCashChanger, 'About', TAboutEditor);
  RegisterPropertyEditor(TypeInfo(String), TRaShapePanel, 'About', TAboutEditor);
  RegisterPropertyEditor(TypeInfo(String), TRaShortCut, 'About', TAboutEditor);
  RegisterPropertyEditor(TypeInfo(String), TRaSMS, 'About', TAboutEditor);
  RegisterPropertyEditor(TypeInfo(String), TRaTwain, 'About', TAboutEditor);
  RegisterPropertyEditor(TypeInfo(String), TRaVTxtAuto, 'About', TAboutEditor);
  RegisterPropertyEditor(TypeInfo(String), TRaWindowsInfo, 'About', TAboutEditor);
  RegisterPropertyEditor(TypeInfo(String), TRaAdoPagedData, 'About', TAboutEditor);
  RegisterPropertyEditor(TypeInfo(String), TRaBdePagedData, 'About', TAboutEditor);
End;

Procedure TFormAbout.Button1Click(Sender: TObject);
Begin
  Close;
End;

{ TAboutEditor }

Procedure TAboutEditor.Edit;
Begin
  With TFormAbout.Create(Application) Do
  Begin
    ShowModal;
    Free;
  End;
End;

Function TAboutEditor.GetAttributes: TPropertyAttributes;
Begin
  result := result + [paReadOnly, paDialog];
End;

Function TAboutEditor.GetValue: String;
Begin
  result := '[About]';
End;

End.

